﻿using System;

namespace Sustainalytics.DataLayer.Exceptions
{
    public class PortfolioUniqueNameByUserException: Exception
    {
        public string PortfolioName { get; private set; }
        public string UserName { get; private set; }

        public Guid UserId { get; private set; }

        public PortfolioUniqueNameByUserException(string message, string portfolioName, string userName)
            : base(message)
        {
            PortfolioName = portfolioName;
            UserName = userName;
        }

        public PortfolioUniqueNameByUserException(string message, Exception innerException, string portfolioName, string userName)
            : base(message, innerException)
        {
            PortfolioName = portfolioName;
            UserName = userName;
        }

        public PortfolioUniqueNameByUserException(string message, string portfolioName, Guid userId)
            : base(message)
        {
            PortfolioName = portfolioName;
            UserId = userId;
        }

        public PortfolioUniqueNameByUserException(string message, Exception innerException, string portfolioName, Guid userId)
            : base(message, innerException)
        {
            PortfolioName = portfolioName;
            UserId = userId;
        }
    }
}
